#ifndef _DIALOGMANAGER_H_
#define _DIALOGMANAGER_H_

class DialogManager {
public:
	struct DialogInfo
	{
		HWND hwnd;
		int flag;

		DialogInfo() {
			hwnd = 0;
			flag = 0;
		}
		DialogInfo(HWND d, int f) {
			hwnd = d;
			flag = f;
		}
	};

	DialogManager();
	~DialogManager();

	void add(int id, HWND dialog, int flag = 0);
	HWND get(int id);
	void remove(int id);
	bool isEmpty();
	void clear();
	bool isDlgMessage(MSG* msg);

private:
	map<int, DialogInfo> dialogMap;
};

extern DialogManager dialogManager;

#endif
